package com.xinyin.aiqinhaiback.mapper;

import com.xinyin.aiqinhaiback.model.entity.*;
import org.mapstruct.Mapper;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
* @author zz0227
* @description 针对表【information】的数据库操作Mapper
* @createDate 2025-02-10 10:51:20
* @Entity generator.domain.Information
*/
@Mapper
public interface InformationMapper {

	List<SensorInfo> getAllSensors();

	List<Information> getAllHeatSourceDevice();
	List<Information> getAllColdSourceDevice();
	List<Param> getInformationByDeviceId(@org.apache.ibatis.annotations.Param("id") int id);

	List<InformationModel> getColdThermal();

	List<InformationModel> getHeatThermal();

	List<Information> getAllDevices();

	List<Information> getOneDeviceInfo(DeviceReq req);

	void addAlarm(Alarm alarm);

	Alarm getAlarmInfo(Alarm alarm);

	void ensureAlarmStatus(Alarm alarm);

	Alarm getOldAlarmInfo(Alarm alarm);

	void updateRenewTime(Alarm oldAlarmInfo);

	List<Alarm> getAlarmList();

	void add();

	void deviceHistoryDatalist( @org.apache.ibatis.annotations.Param("lists")  List<DeviceHistoryData> deviceHistoryDatalist );

	void addSensorHistoryDataList(@org.apache.ibatis.annotations.Param("lists")  List<SensorHistoryData> sensorHistoryDataList);

	List<HistoryData> getDeviceHistoryData( HistoryDataQuery historyDataQuery);

	List<HistoryData> getSensorHistoryData(HistoryDataQuery historyDataQuery);

	void addLog(@org.apache.ibatis.annotations.Param("name") String name);

	List<Information> getTest();

	List<DeviceStatus> getDevicesName();

	List<DeviceHistoryResp> getDeviceHistoryDataByDate(@org.apache.ibatis.annotations.Param("startTime") LocalDate startTime
	,@org.apache.ibatis.annotations.Param("deviceId") Integer deviceId);

	List<DeviceHistoryResp> getSensorHistoryDataByDate(@org.apache.ibatis.annotations.Param("startTime")  LocalDate startTime
			, @org.apache.ibatis.annotations.Param("deviceId") Integer deviceId);

	String getDeviceNameByInformationId(@org.apache.ibatis.annotations.Param("informationId") Integer informationId);

	String getSensorNameBySensorId(@org.apache.ibatis.annotations.Param("sensorId")Integer sensorId);
}




